﻿using HopeBus.View;
using HopeBus.View.FormEmitirPassagem;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using HopeBus.Business;

namespace HopeBus.View
{
    public partial class FormEmitirPassagemDestino : Form
    {
        
        public FormEmitirPassagemDestino()
        {
            InitializeComponent();
            ListarCidades();
        }

        private void panelBackground_Paint(object sender, PaintEventArgs e)
        {

        }
        private void comboOrigem_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListarCidades();
            
        }

        private void comboBox_Destino_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListarCidades();
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {

        }

        private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            //limpa a tela
            panelBackground.Controls.Clear();
            FormEmitirPassagemDadosPassageiro emitirPassagemDadosPassageiro;
            //instancia uma nova tela e adiciona a mesma dentro do panel da TelaPrincipal
            if (!comboBox_Destino.Text.Equals(String.Empty))
            {
                emitirPassagemDadosPassageiro = new FormEmitirPassagemDadosPassageiro(comboBox_Origem.Text, comboBox_Destino.Text, comboBox_Horario.Text);
            }
            else
            {
                emitirPassagemDadosPassageiro = new FormEmitirPassagemDadosPassageiro();
            }
            emitirPassagemDadosPassageiro.TopLevel = false;
            panelBackground.Controls.Add(emitirPassagemDadosPassageiro);

            //Tira a barra do topo da tela
            emitirPassagemDadosPassageiro.FormBorderStyle = FormBorderStyle.None;

            emitirPassagemDadosPassageiro.Show();
        }

        private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            //limpa a tela
            panelBackground.Controls.Clear();

            //instancia uma nova tela e adiciona a mesma dentro do panel da TelaPrincipal
            FormEmitirPassagemPoltrona emitirPassagemPoltrona = new FormEmitirPassagemPoltrona();
            emitirPassagemPoltrona.TopLevel = false;
            panelBackground.Controls.Add(emitirPassagemPoltrona);

            //Tira a barra do topo da tela
            emitirPassagemPoltrona.FormBorderStyle = FormBorderStyle.None;

            emitirPassagemPoltrona.Show();
        }

        private void linkLblContinuar_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {

            Persistencia.adicionarElementoNoArray(comboBox_Origem.ToString());
            Persistencia.adicionarElementoNoArray(comboBox_Destino.ToString());
            Persistencia.adicionarElementoNoArray(comboBox_Horario.ToString());


            //limpa a tela
            panelBackground.Controls.Clear();

            //instancia uma nova tela e adiciona a mesma dentro do panel da TelaPrincipal
            FormEmitirPassagemDadosPassageiro EmitirPassagemDadosPassageiro = new FormEmitirPassagemDadosPassageiro();
            EmitirPassagemDadosPassageiro.TopLevel = false;
            panelBackground.Controls.Add(EmitirPassagemDadosPassageiro);

            //Tira a barra do topo da tela
            EmitirPassagemDadosPassageiro.FormBorderStyle = FormBorderStyle.None;

            EmitirPassagemDadosPassageiro.Show();
        }

        private void linkLabelVoltar_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            //limpa a tela
            panelBackground.Controls.Clear();

            //instancia uma nova tela e adiciona a mesma dentro do panel da TelaPrincipal
            FormTelaFuncoes telaFuncoes = new FormTelaFuncoes();
            telaFuncoes.TopLevel = false;
            panelBackground.Controls.Add(telaFuncoes);

            //Tira a barra do topo da tela
            telaFuncoes.FormBorderStyle = FormBorderStyle.None;

            telaFuncoes.Show();
        }


        private void ListarCidades()
        {
            comboBox_Origem.Items.Add("Esperança");
            comboBox_Origem.Items.Add("Campina Grande");

            if(comboBox_Origem.SelectedText.Equals("Campina Grande"))
            {
                comboBox_Destino.Items.Add("Esperança");
                comboBox_Destino.Items.Add("Lagoa de Roça");
                comboBox_Destino.Items.Add("Lagoa Seca");

            }
            else if (comboBox_Origem.Text.Equals(String.Empty))
            {

                comboBox_Destino.Enabled = false;
                comboBox_Horario.Enabled = false;
            }
            else
            {
                if (comboBox_Destino.Items.Count == 0)
                {
                    comboBox_Destino.Enabled = true;
                    comboBox_Horario.Enabled = false;
                    comboBox_Destino.Items.Add("Alagoa Nova");
                    comboBox_Destino.Items.Add("Areia");
                    comboBox_Destino.Items.Add("Campina Grande");
                    comboBox_Destino.Items.Add("Lagoa de Roça");
                    comboBox_Destino.Items.Add("Lagoa Seca");
                    comboBox_Destino.Items.Add("Montadas");
                    comboBox_Destino.Items.Add("Remígio");
                }
            }
            if (!comboBox_Destino.Text.Equals(String.Empty)) comboBox_Horario.Enabled = true;
            ListarHorario();

        }

        private void ListarHorario()
        {

            if (!comboBox_Destino.Text.Equals(String.Empty) && comboBox_Horario.Items.Count == 0)
            {
                comboBox_Horario.Items.Add("8:00");
                comboBox_Horario.Items.Add("9:00");
                comboBox_Horario.Items.Add("10:00");
                comboBox_Horario.Items.Add("11:00");
                comboBox_Horario.Items.Add("12:00");
                comboBox_Horario.Items.Add("13:00");
                comboBox_Horario.Items.Add("14:00");
                comboBox_Horario.Items.Add("15:00");
                comboBox_Horario.Items.Add("16:00");
                comboBox_Horario.Items.Add("17:00");
                comboBox_Horario.Items.Add("18:00");
                comboBox_Horario.Items.Add("19:00");
            }
        }

        private void comboBox_Horario_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

    }
}
